Date
1 | 1、getTimezoneOffset() 返回格林威治时间(UTC)与本地时间的差(分钟) |
RegExp
1 | 1、匹配模式符 |
包装类
Boolean
1
2
3
4
5
6
7
8
9
10
11
12
13
141、转型函数
let value = "25";
let number = Number(value); // 转型函数
console.log(typeof number); // "number"
console.log(number instanceof Boolean); // false
2、包装类
let obj = new Number(value); // 构造函数
console.log(typeof obj); // "object"
console.log(obj instanceof Boolean); // true
理解原始布尔值和 Boolean 对象之间的区别非常重要,强烈建议永远不要使用后者。String
1 | JavaScript 字符串由 16 位码元(code unit)组成。对多数字符来说,每 16 位码元对应一个字符。 |
- Number
1 | Number对象提供了几个将数值转字符串的方法 |
单例内置对象
ECMA-262 对内置对象的定义是“任何由 ECMAScript 实现提供、与宿主环境无关,并在 ECMAScript 程序开始执行时就存在的对象”。这就意味着,开发者不用显式地实例化内置对象,因为它们已经实例 化好了。前面我们已经接触了大部分内置对象,包括 Object、Array 和 String。本节介绍 ECMA-262 定义的另外两个单例内置对象:Global 和 Math
1 | 1、Global |
类型转换
1
2
3
4
5
6
7 Boolean(new Boolean(false)); //
Boolean(document.all);
[] == "";
[3] == 3;
[] == false;
42 == true;
在==
时,会强制类型转换并比较转换后的结果
比较过程如下:
- 如果两个变量都是对象,则当都引用同一对象时才返回
true
null == undefined
? 返回true
- 当两个变量类型不一致时会进行类型转换:
string == number
?string
转换为number
后再进行比较boolean == any
?boolean
转换为number
后再进行比较object == string/number/symbol
? 尝试调用object
的valueOf
或toString
将其转换为原始类型后再进行比较
- 当两个变量类型一致时:
number == number
? 其中有一个为NaN
时返回false
;+0 == -0
时返回true
- 本文作者: 王不留行
- 本文链接: https://wyf195075595.github.io/2022/06/17/programming/红宝书笔记/第五章 基本引用类型/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!